<?php

session_start();

// Include i file necessari
include('inc/config.inc.php');
include('inc/template.inc.php');
include('inc/db.inc.php');
include('inc/check.inc.php');

$user_id = ( ! empty($_GET['id'])) ? trim(mysql_real_escape_string($_GET['id'])) : $_SESSION['uid'];

$name		= '';	// Il nome del personaggio
$surname	= '';	// Il cognome del personaggio
$race		= '';	// La razza del personaggio
$guild		= '';	// La gilda del personaggio
$guildrank	= '';	// Il rango della gilda del personaggio
$sex		= '';	// il sesso del personaggio
$master		= '';	// Se il personaggio è un master
$admin		= '';	// Se il personaggio è un admin
$bg			= '';	// La storia del personaggio
$affects	= '';	// Gli affetti e gli amici del personaggio
$desc		= '';	// La descrizione fisica del personaggio
$exp_point	= 0;	// I punti esperienza del personaggio
$level		= '';	// Il livello del personaggio
$items		= '';	// Pulsante degli oggetti del personaggio
$money		= '';	// I soldi del personaggio (Stringa)
$edit		= '';	// Pulsante per la modifica della scheda
$skills		= '';	// Pulsante per le skills del personaggio
$stamphp 	= '';	// Gli HP del personaggio
$showequip	= '';	// Visualizzo l'equipaggiamento
$register	= '';	// Data di registrazione
$age		= 0;	//Età del personaggio
$align		= 0;	//Allineamento del personaggio
$state_civil		= 0;	//Stato civile del personaggio

// Recupera i dati del personaggio
if($r1 = $db -> query("SELECT * FROM users WHERE user_id = '$user_id'")) 
{
	$rd1 = $r1 -> fetch_assoc();
	
	// Informazioni personaggio
	$name 		.= trim(htmlentities($rd1['user_name']));
	$surname 	.= trim(htmlentities($rd1['user_surname']));
    $bg 		.= bbtext(trim(htmlentities($rd1['user_bg'])));
	$desc 		.= bbtext(trim(htmlentities($rd1['user_desc'])));
	$affects 	.= bbtext(trim(htmlentities($rd1['user_affects'])));
	$exp_point 	= $rd1['user_exp'];
	$img 		= trim(htmlentities($rd1['user_image']));
	$guild_id	= $rd1['user_guild'];
	$rank_id 	= $rd1['user_guildrank'];
	$hp 		= $rd1['user_hp'];
	$level 		= $rd1['user_level'];
	$s_points 	= $rd1['user_skillpoints'];
	$race_id 	= $rd1['user_race'];
	// Informazioni account
	$account_id = $rd1['account_id'];
	$register	= date('d/m/Y H:i', strtotime($rd1['user_register']));
	
	// Recupera la razza del personaggio
	if($r2 = $db -> query("SELECT race_name, race_image FROM races WHERE race_id = '$race_id'"))
	{
		$rd2 = $r2 -> fetch_assoc();
		
		$race .= $rd2['race_name'];
		$raceimage = $rd2['race_image'];
		
		$r2 -> close();
	}
	
	// Recupera la gilda del personaggio
	if($r3 = $db -> query("SELECT guild_name FROM guilds WHERE guild_id = '$guild_id'"))
	{
		$rd3 = $r3 -> fetch_assoc();
		
		$guild .= $rd3['guild_name'];
		
		$r3->close();
	}

	// Recupera il rango di gilda
	if($r4 = $db -> query("SELECT rank_name, rank_image FROM guildranks WHERE guild_id = '$guild_id' AND rank_id = '$rank_id'"))
	{
		$rd4 = $r4->fetch_assoc();
		
		$guildrank .= $rd4['rank_name'];
		$rank_image = $rd4['rank_image'];
		
		$r4 -> close();
	}

	// Recupera il sesso del personaggio
	if($rd1['user_sex'] == 0)
	{
		$sex .= 'Maschio';
	} else {
		$sex .= 'Femmina';
	}

	if ($_SESSION['master'] == 0)
	{
		$master .= 'No';
	} else {
		$master .= 'Si';	
	}

	if ($_SESSION['admin'] == 0)
	{
		$admin .= 'No';
	} else {
		$admin .= 'Si';	
	}

	// Controlla se la scheda visualizzata è del personaggio (visualizzo gli oggetti, i soldi e la modifica)
	if($user_id == $_SESSION['uid']) 
	{
		$items	.= "<a href='items.php?id=$user_id' target='main'><small>Oggetti</small></a>";
		$money	.= 'Possiedi <strong>' . number_format($rd1['user_money'], 0, ',', '.') . '</strong> ' . $g_currency;
		$edit	.= '<a href="avatar-edit.php" target="_self"><small>Modifica</small></a>';
		$skills .= "<a href='skills.php?id=$user_id' target='main'><small>Skills</small></a>";
	}
	
	// Visualizza il numero di hp
	if ($hp > 60)
	{ // Se gli hp sono maggiori di 60, mette i segnalini verdi
		$hp_class = "progress-bar-success";
	}
	if (($hp < 60)&&($hp > 25)){ // Se gli hp sono compresi tra 25 e 60, segnalini arancioni
		$hp_class = "progress-bar-warning";
	}
	if (($hp < 25)&&($hp > 10)){ // Se gli hp sono compresi tra 25 e 10, segnalini arancioni
		$hp_class = "progress-bar-danger";
	}
	
	$stamphp .= '<div class="progress" style="margin: 0;">';
	$stamphp .= '<div class="progress-bar ' . $hp_class . '" role="progressbar" aria-valuenow="' . $hp . '" aria-valuemin="0" aria-valuemax="100" style="width: ' . $hp . '%;">';
	$stamphp .= $hp . '</div></div>';
	
	// Calcola la soglia di livello.
	$lev_increaser		= ($level * 15) - 15;
	$level_threshold	= ($g_levelexp * $level) + $lev_increaser;
	$perc_exp 			= number_format(($exp_point / $level_threshold) * 100, 1, '.', '');
	
	$exp	= '<div class="progress" style="margin: 0;">';
	$exp	.= '<div class="progress-bar" role="progressbar" aria-valuenow="' . $exp_point . '" aria-valuemin="0" aria-valuemax="' . $level_threshold . '" style="width: ' . $perc_exp . '%;">';
	$exp	.= $exp_point . '/' . $level_threshold . '</div></div>';
	
	// Recupera le Abilità del personaggio.
	if($r5 = $db -> query("SELECT * FROM abilitieslink WHERE user_id = '$user_id'"))
	{
		$rd5 = $r5->fetch_assoc();
		// Variabili
		$a1 = $rd5['ability_1'];
		$a2 = $rd5['ability_2'];
		$a3 = $rd5['ability_3'];
		$a4 = $rd5['ability_4'];
		$a5 = $rd5['ability_5'];
		$ap = $rd5['ability_points'];
		
		$a_points = 'Hai ' . $ap . ' punti da assegnare';
		
		$r5 -> close();
	}

	// Se ci sono punti abilita assegnabili, attiva l'opzione per il level up
	if (($ap > 0 || $s_points > 0) && $user_id == $_SESSION['uid'])
	{
		$levelup = '<a href="levelup.php" target="_self">' . $a_points . '</a>';
	} else {
		$levelup = '';
	}
		
	if($r6 = $db -> query("SELECT * FROM itemslink WHERE user_id = '$user_id' AND item_equipped = 1"))
	{
		while($rd6 = $r6 -> fetch_assoc()) 
		{
			$item_id = $rd6['item_id'];
			
			if ($rd6['item_charges'] == -1)
			{
				$item_charges = ""; 
			} else { 
				$item_charges = $rd6['item_charges'];
			}
		
			// Recupera i dati dell'oggetto
			if($r7 = $db -> query("SELECT * FROM items WHERE item_id = '$item_id'"))
			{
				$rd7 = $r7 -> fetch_assoc();
				
				$showequip .= ' ' . $rd7['item_name'] . ' ' . $item_charges . '<br />';
			}
		}
		
		$r6 -> close();
	}

	
	
	// Lista delle tag speciali
	$tags = array(
					'temp_title' => $g_name,'temp_edit' => $edit, 'temp_userid' => $user_id, 'temp_levelup' => $levelup, 
					'temp_image' =>$img,'temp_raceid' => $race_id, 'temp_name' => $name, 'temp_stamphp' => $stamphp, 
					'temp_bg' => $bg, 'temp_desc' => $desc, 'temp_affects' => $affects, 'temp_surname' => $surname, 
					'temp_race' => $race, 'temp_raceimage' => $raceimage, 'temp_guild' => $guild, 'temp_guildid' => $guild_id, 
					'temp_guildrank' => $guildrank, 'temp_rankimg' => $rank_image, 'temp_sex' => $sex, 'temp_admin' => $admin, 
					'temp_master' => $master, 'temp_money' => $money, 'temp_exp' => $exp, 'temp_items' => $items, 'temp_skills' => $skills, 
					'temp_hp' => $hp, 'temp_level' => $level, 'temp_a1' => $a1, 'temp_a2' => $a2, 'temp_a3' => $a3, 'temp_a4' => $a4, 
					'temp_a5' => $a5, 'temp_showequip' => $showequip, 'temp_a1name' => $g_a1name, 'temp_a2name' => $g_a2name, 
					'temp_a3name' => $g_a3name, 'temp_a4name' => $g_a4name, 'temp_a5name' => $g_a5name, 'temp_apoint' => $a_points,
					'temp_register' => $register,
					'temp_age'  => $age,
					'temp_align'  => $align,
					'temp_state_civil'	=> $state_civil,
				);
				
	// Carica il template e formatta le tag speciali
	$temp = new template('style/avatar.template.html');
	$temp->replace($tags);
	
	// Visualizza l'output
	echo $temp->show();
	
	$r1 -> close();
}

// Chiude la connessione al database
$db -> close();

?>